

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using NuevoGenNHibernate.EN.Ebay;
using NuevoGenNHibernate.CAD.Ebay;

namespace NuevoGenNHibernate.CEN.Ebay
{
public partial class CompraloYACEN
{
private ICompraloYACAD _ICompraloYACAD;

public CompraloYACEN(ICompraloYACAD _ICompraloYACAD)
{
        this._ICompraloYACAD = _ICompraloYACAD;
}

public ICompraloYACAD get_ICompraloYACAD ()
{
        return this._ICompraloYACAD;
}

public int CrearCompraloYa (bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio, string p_vendedor, string p_usuario, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.LineaVentaEN> p_lineaVenta, int p_Stock, Nullable<DateTime> p_FechaFin)
{
        CompraloYAEN compraloYAEN = null;
        int oid;

        //Initialized CompraloYAEN
        compraloYAEN = new CompraloYAEN ();
        compraloYAEN.Finalizado = p_Finalizado;

        compraloYAEN.FormaDePago = p_FormaDePago;

        compraloYAEN.Fecha = p_Fecha;

        compraloYAEN.Nombre = p_Nombre;

        compraloYAEN.Descripcion = p_Descripcion;

        compraloYAEN.PrecioFinal = p_precioFinal;

        compraloYAEN.GastosEnvio = p_gastosEnvio;


        if (p_vendedor != null) {
                compraloYAEN.Vendedor = new NuevoGenNHibernate.EN.Ebay.UsuarioEN ();
                compraloYAEN.Vendedor.Nick = p_vendedor;
        }


        if (p_usuario != null) {
                compraloYAEN.Usuario = new NuevoGenNHibernate.EN.Ebay.UsuarioEN ();
                compraloYAEN.Usuario.Nick = p_usuario;
        }

        compraloYAEN.LineaVenta = p_lineaVenta;

        compraloYAEN.Stock = p_Stock;

        compraloYAEN.FechaFin = p_FechaFin;

        //Call to CompraloYACAD

        oid = _ICompraloYACAD.CrearCompraloYa (compraloYAEN);
        return oid;
}

public void ModificarCompraloYa (int p_CompraloYA_OID, bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio, int p_Stock, Nullable<DateTime> p_FechaFin)
{
        CompraloYAEN compraloYAEN = null;

        //Initialized CompraloYAEN
        compraloYAEN = new CompraloYAEN ();
        compraloYAEN.Id_venta = p_CompraloYA_OID;
        compraloYAEN.Finalizado = p_Finalizado;
        compraloYAEN.FormaDePago = p_FormaDePago;
        compraloYAEN.Fecha = p_Fecha;
        compraloYAEN.Nombre = p_Nombre;
        compraloYAEN.Descripcion = p_Descripcion;
        compraloYAEN.PrecioFinal = p_precioFinal;
        compraloYAEN.GastosEnvio = p_gastosEnvio;
        compraloYAEN.Stock = p_Stock;
        compraloYAEN.FechaFin = p_FechaFin;
        //Call to CompraloYACAD

        _ICompraloYACAD.ModificarCompraloYa (compraloYAEN);
}

public void EliminarCompraloYa (int id_venta)
{
        _ICompraloYACAD.EliminarCompraloYa (id_venta);
}

public CompraloYAEN ReadOID (int id_venta)
{
        CompraloYAEN compraloYAEN = null;

        compraloYAEN = _ICompraloYACAD.ReadOID (id_venta);
        return compraloYAEN;
}

public System.Collections.Generic.IList<CompraloYAEN> ReadAll (int first, int size)
{
        System.Collections.Generic.IList<CompraloYAEN> list = null;

        list = _ICompraloYACAD.ReadAll (first, size);
        return list;
}
}
}
